package com.bt7274.mapper;

import com.bt7274.pojo.ReportRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ReportRecordMapper {
    // 新增举报记录
    int insertReport(ReportRecord reportRecord);

    // 根据ID查询举报记录
    ReportRecord selectById(@Param("id") Long id);

    // 查询举报列表，支持根据状态和被举报类型筛选
    List<ReportRecord> selectReports(@Param("statuses") List<Integer> statuses,
                                     @Param("reportedType") String reportedType,
                                     @Param("offset") int offset,
                                     @Param("limit") int limit);

    // 查询某举报人的举报记录
    List<ReportRecord> selectByReporterId(@Param("reporterId") String reporterId,
                                          @Param("offset") int offset,
                                          @Param("limit") int limit);

    // 更新举报处理状态和结果
    int updateReportProcess(@Param("id") Long id,
                            @Param("status") Integer status,
                            @Param("processResult") String processResult,
                            @Param("processTime") java.util.Date processTime);

    long countReports(List<Integer> statuses, String reportedType);



    long countByReporterId(String reporterId);
}
